<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }

        li {
            list-style: none;
        }

        .banner {
            width: 500px;
            height: 300px;
            background-color: #ccc;
            margin: 50px auto;
            position: relative;
            overflow: hidden;
        }

        .banner ul {
            width: 2000px;
            display: flex;
            position: absolute;
        }

        .banner ul li {
            width: 500px;
            height: 300px;
            display: flex;
            justify-content: center;
            align-items: center;
            font-size: 50px;
        }

        .banner span {
            position: absolute;
            top: 0;
            bottom: 0;
            margin: auto;
            width: 30px;
            height: 30px;
            background-color: rgba(0, 0, 0, .5);
            color: #fff;
            text-align: center;
            line-height: 30px;
        }

        #next {
            right: 0;
        }
    </style>
</head>

<body>

    <div class="banner">

        <ul id="list">
            <li>1</li>
            <li>2</li>
            <li>3</li>
            <li>4</li>
        </ul>
        <span id="prev">&lt;</span>
        <span id="next">&gt;</span>
    </div>


    <script>

        // 轮播：
        //    css ul宽度设置大一些   保证可以存入所有的图片
        //    bug   span上下翻页 要在上面  z-index

        // 思路：移动ul的位置

        // 计数器   控制播放第几张  


        // 全局变量
        var index = 0;   // 控制播放第几张图片
        var t;   // 定时器



        var oUl = document.getElementById('list');
        var oPrev = document.getElementById('prev');
        var oNext = document.getElementById('next');
        console.log(oPrev);

        autoPlay();

        oPrev.addEventListener('click', function () {
            // 清除定时器
            clearInterval(t);
            // if (index === 0) {
            //     index = 4;
            // }
            index--;
            if (index === -1) {
                index = 3;
            }
            // 确定了ul的值之后再移动位置
            oUl.style.left = - index * 500 + 'px';
            autoPlay();
        })

        oNext.addEventListener('click', function () {
            // 清除定时器
            clearInterval(t);
            if (index === 3) {
                index = -1
            }
            index++;
            // if (index === 4) {
            //     index = 0
            // }
            // 确定了ul的值之后再移动位置
            oUl.style.left = - index * 500 + 'px';
            autoPlay();
        })



        // 每隔1s切换到下一张
        function autoPlay() {
            t = setInterval(function () {
                if (index === 3) {
                    index = -1
                }
                index++;
                // if (index === 4) {
                //     index = 0
                // }
                // 确定了ul的值之后再移动位置
                oUl.style.left = - index * 500 + 'px';
            }, 1000)
        }


    </script>

</body>

</html>